bootmgr "Earlier Version of Windows" is buggy
I have 2 XP installations and also Windows 7 rc. When I boot up and select "Earlier Version of Windows" on bootmgr's menu, it sometimes gives me ntldr's menu as defined in the boot.ini file. It should do this but at other times it simply loads the default XP without giving me the menu.I don't think there is anything wrong with the boot.ini file. I've been using it for years. If I change the VBR (boot sector) to load ntldr as would happen if I re-install XP, then XP's OS selection menu always works fine. It's only when I run it by selecting "Earlier Version of Windows" that it often loads the default XP without giving me the OS selection menu.
September 21st, 2009 4:30pm

It would depend on exactly what kind of entry there is for "Earlier Version. . .". I have played with mine a lot and at one time, there were two such entries. One was the default:Windows Legacy OS Loader------------------------identifier {ntldr}device bootpath \ntldrdescription Earlier Version of WindowsThe other was a "BOOTSECTOR" entry as such:Real-mode Boot Sector------------------------identifier {<guid>}device partition=D:path \NTLDRdescription Windows XP x64I think it was the default entry that experienced the buggy behavior you describe. The second was created when I added another OS. I only have the second, boot-sectorone displayed now. Contrary to what you might think, it shows the boot.ini menu every time. Other reasons you might not see the boot.ini menu are if there is only one entry,or if "timeout=0".You can enter "bcdedit /enum all" in a command prompt to see everything in your BCD. Bcdedit by itself will show the active entries. Use "bcdedit /?" for general help and "bcdedit /? /command" for detailed help on command.Or you can use EasyBCD. Search for it.
Free Windows Admin Tool Kit Click here and download it now
September 22nd, 2009 12:04am

Boot.ini is good. It works fine when I put the "legacy" VBR on the C partition. This happens if I install XP or if I use EasyBCD to do it. There are multiple entries and a 30 second timeout.Using "bcdedit /enum all" shows many entries that don't show up with EasyBCD etc.Apparently some entries I deleted with EasyBCD or VistaBootPro are still in there.Thereis only one entryfor "Earlier Version of Windows".It looks like this:Windows Legacy OS Loader------------------------identifier {ntldr}device partition=C:path \ntldrdescription Earlier Version of Windows---------------------------------------------------------------------------------------------------------------------------------------------BootMgr may be old. It was probably put there when I installed Win7 beta.
September 22nd, 2009 1:35am

BootMgr was probably replaced when you installed the RC.You could try creatingyour ownbootsector entry:bcdedit /create /d "My NTLDR entry" /application BOOTSECTORCopy the {guid} that it reports as that of the new entry and use it in the next commands:bcdedit /set {guid} device partition=C:bcdedit /set {guid} path \NTLDRbcdedit /set {bootmgr} displayorder {guid} /addlastThis should create an entry similar to mine, only using the current C: drive.
Free Windows Admin Tool Kit Click here and download it now
September 22nd, 2009 6:09am

Hi FastSteve, First, you can use the bootrec /RebuildBcd command in the Windows Recovery Environment mode to rebuild BCD. Please refer to the following support article: How to use the Bootrec.exe tool in the Windows Recovery Environment to troubleshoot and repair startup issues in Windows Vista Please feel free that the steps are also applied to Windows 7. You can refer to the APPLIES TO part on the above site. If the issue persists, you can take Brian Borgs suggestion to do the repair manually. If it does not work either, we can confirm the issue is caused due to the XP factor. I see that the boot.ini file is fine, but please note that some boot information is stored in the boot partition. If this is the case, you need to do the troubleshooting on XP first. I hope the above information will be helpful. Good Luck! Nina
September 23rd, 2009 11:49am

Thanks everyone. I have it working well now. I used Brian's method. I tried the new entry 12 times and it worked every time. Before, "Earlier Version of Windows" worked right about 1 time out of 4.I found out a few more things. "Earlier version of Windows" now works well also.But it still isn't perfect. If I wait a while at the bootmgr menu before hitting either entry, they still will often work wrong. By working wrong, I mean running the default XP instead of giving me the menu.I can usually get the new "My NTLDR entry" to fail by arrowing down to that entry immediately, waiting 7 seconds and then hitting ENTER. I don't know if this exact procedure makes the "Earlier version of windows" fail, but some combinations of waiting with the clock running and then waiting with the clock stopped will get it to fail.My guess is the ntldr style boot sector sets up something, perhaps inadvertantly, that makes ntldr work. Bootmgr doesn't set it up so depending on what the value of that something happens to be, ntldr either works right or wrong.
Free Windows Admin Tool Kit Click here and download it now
September 24th, 2009 1:51am

According to your description, there is something wrong with the XP boot information. If you would like to move on for troubleshooting, I suggest you use the FIXMBR and FIXBOOT command after booting from the XP CD to repair the XP boot info first. Note: Before doing the XP repair, please backup the current BCD data. Back up the current BCD data =================== 1. Click Start button, type cmd in the search box. 2. On the program results list, right click the cmd.exe and choose run as administrator. 3. In the command window, type the following command and press Enter. bcdedit /export C:\BCD_Backup Note: This command is to backup the current BCD data to C:\ Repair the XP boot info ============== 1. Start your computer with the Windows XP startup disks 2. When the Welcome to Setup screen appears, press R to select the repair option. 3. At the command prompt, on the drive where Windows is installed, type the following command and press Enter after each command: FIXMBR FIXBOOT After that, Win7 will not boot. You can access WinRE of Win7 by using F8 at the boot menu, select Repair Your Computer to start WinRE, please choose the Startup Repair option. If the issue persists, you need to repair the Wind7 boot info manually. Rebuild Boot Configuration Database (BCD) store in Windows Recovery Environment ============= 1. Access WinRE of Win7 by using F8 at the boot menu, select Repair Your Computer to start WinRE 2. Click "Command Prompt" and type in the following command. Bootrec.exe /REBUILDBCD If the command is successful, close the Command Prompt window. 3. Click Startup Repair to perform Windows Startup Repair. After doing these computer will reboot automatically. Then, please use EasyBCD or Bcdedit.exe to create an entry for Windows XP. Method 1: Use EasyBCD =============== Method 2: Using Bcdedit.exe command line ================================ 1. Click Start button, type cmd in the search box. 2. On the program results list, right click the cmd.exe and choose run as administrator. 3. In the command window, type the following command and press Enter, one by one. bcdedit /create {ntldr} /d Windows XP Professional bcdedit /displayorder {ntldr} /addlast bcdedit /set {ntldr} device partition=X: Note: The X is where the Windows XP installed. bcdedit /set {ntldr} path \ntldr Have a nice day! Nina
September 24th, 2009 11:44am

I think I figured it out. If I press ENTER quickly when selecting "Earlier Version of Windows", or my new "My NTLDR" entry, it works okay. If I press ENTER slowly, ntldr will run the first entry in boot.ini. Apparently ntldr is seeing the same key press of ENTER as bootmgr saw.A suggested fix is to have bootmgr wait until the ENTER key is released before running ntldr. If bootmgr isn't debouncing the key, it should do that.By the way, ntldr handles the key presses just like bootmgr. I have an entry in boot.ini that lets me run bootmgr, so I can bounce back and forth between bootmgr and ntldr. When ntldr is running and I pressENTER for the "Run bootmgr" selection, the same thing happens. If I press it quickly, bootmgr gives me it's menu. If I press it slowly, bootmgr runs the first item on it's menu.I've noticed the lack of key debounce when in the BIOS setup also. It sometimes sees two keypresses when I press it once. Once Windows is running, Windows handles the keyboard correctly.
Free Windows Admin Tool Kit Click here and download it now
September 24th, 2009 2:36pm

Interesting.Steve, how did you a boot.ini entry for loading bootmgr? I tried that and couldn't get it to work.Are you using a USB keyboard or PS2?
September 25th, 2009 3:56am

I use an old PS2 keyboard.Running bootmgr from the boot.ini file is done the same way Windows runs Win98 after an XP install. I also use this method to run Linux, although I haven't run Linux in a few years.First you need a bootsector that runs bootmgr. Well, you have that already. Then you need to read the bootsector and store it as a file. The file will be 512 bytes in size. Of course the bootsector is the first sector of the partition. There is a handy free program that does just this, called Boot Sector Explorer.http://www.diamondcs.com.au/freeutilities/bootsectorexplorer.phpThen you make a boot.ini entry that looks like this:c:\run_bootmgr.vbr="Run Bootmgr" I saved the bootsector in a file called run_bootmgr.vbr. Using a file name extension here is totally unnecessary. You can name it anything. I presume ntldr knows nothing about file name extensions. I use the .vbr extension just for my own use.More curious is the use of c:\. I presume ntldr knows nothing about drive letters either. But that's apparently how Windows sets it up if you install XP on a machine with Win9x installed.By the way, this trick did not work the one time it would have been very handy. I installed XP after installing Win7. This of course put a bootsector on the C partition that ran ntldr. I don't know why it wouldn't run bootmgr in that situation.I always copy my boot filesto a thumb drive so I could still runWin7by booting from the thumb drive. And of course EasyBCD has an easy fix.I never install any OS on the C partition. I leave that for boot files, and temporary files.
Free Windows Admin Tool Kit Click here and download it now
September 25th, 2009 4:11pm

I could add that this trick of returning to bootmgr from ntldr doesn't work when I boot from a thumb drive.I get the message:----------------------------------------- Windows could not start because the following file is missing or corrupt: <Windows root>\system32\hal.dll. Please re-install a copy of the above file.---------------------------------------------------------------Obviously I don't know what I'm doing! :)
September 25th, 2009 7:03pm

When I said to store the bootsector as a file I should have said to store it on the C partitions, or whatever partition is used for boot.ini etc. Of course you knew that, but I put it here just to make the record complete.
Free Windows Admin Tool Kit Click here and download it now
September 25th, 2009 7:47pm

Thanks, Steve.As I recall, that is what I tried. But now knowing it can work. I think I will try it again.
September 26th, 2009 5:41am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics